Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #184 Fix #211 #213

Merged
merged 2 commits into from
Jul 6, 2015
Merged

Fix #184 Fix #211 #213

merged 2 commits into from
Jul 6, 2015

Conversation

TikhomirovSergey
Copy link
Contributor

Change list:

  • fixed @AndroidFindBy and @iOSFindBy for native app automation #184 and iOSFindBy & AndroidFindBy annotations are ignored #211. Now the choosing is by-strategy is depending on only driver class. There was outdated code. Now it is updated. Summary:
    So when here is AnroidDriver and current context is native app then will be choosen By-strategy defined via AndroidFindBy/AndroidFindBys/AndroidFindAll annotations. When here is IOSDriver and current context is native app then will be choosen By-strategy defined via iOSFindBy/iOSFindBys/iOSFindAll. annotations.
    By-strategy that is built using defaul FindBy/FindBys/FindAll will be used for browser/webview content or when there is no specific annotations for Android/iOS native apps.

There is one specific remark. If somebody desires to use their own Webdriver implementation then it has to implement HasCapabilities.

  • AutomationName has been added in order to define the desired automation type correctly in Capabilities.
  • Now the class ContentMappedBy has overridden toString() method
  • I fixed a problem that is not reported yet.

How to reproduce:

//Right now we are testing an Android app

@iOSFindBy(iOS locator)
@FindBy(css = "e.e1.e2")
private e;

or

//Right now we are testing an iOS app

@AndroidFindBy(className = "android.widget.TextView")
@FindBy(css = "e.e1.e2")
private WebElement e;

At these cases By-locator defined via FindBy is used. If we are testing a native app the test is failed because of UnsupportedCommandException. CSS and link text are not supported by automation tools.

So now NoSuchElementException will be thrown an this case insted of UnsupportedCommandException. This minor bug here since 1.7.0 version.

@Jonahss
Copy link
Member

Jonahss commented Jul 6, 2015

Great :)

Jonahss added a commit that referenced this pull request Jul 6, 2015
@Jonahss Jonahss merged commit 0936596 into appium:master Jul 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

@AndroidFindBy and @iOSFindBy for native app automation
2 participants